//用来创建swagger文档对象
const swaggerJSDOC = require('swagger-jsdoc');
//提供了展示API文档的UI界面
const swaggerUI = require('swagger-ui-express');
//获取服务器端口号
const {PORT} = require('./config');
//设置swagger文档的基础信息
const swaggerDefinition = {
    openapi:'3.0.0',//指定使用OpenAPI3.0规范
    info:{
        title:'微信支付后台',
        version:'1.0.0',
        description:'微信支付后台接口文档'
    },
    tags:[
        {
            name:'Product',//产品
            description:'产品管理'
        },
        {
            name:'Order',//订单
            description:'订单管理'
        },
        {
            name:'Payment',//支付
            description:'支付'
        }
    ],
    servers:[
        {
            url:`http://localhost:${PORT}`
        }
    ]
}
//配置swagger 选项
const swaggerOptions = {
    swaggerDefinition,//前面的定义信息
    apis:['./routes/*.js']//指定包含API注释的文件路径 
}
//使用配置选项创建swagger文档规范对象
const swaggerSpec = swaggerJSDOC(swaggerOptions);
module.exports = (app)=>{
    //使用中间件
  //swaggerUI.serve 提供静态资源的 html css js
  //  swaggerUI.setup(swaggerSpec) 提供UI页面
  app.use('/api-docs',swaggerUI.serve,swaggerUI.setup(swaggerSpec));
}